﻿#pragma once

#include "IXBaseObj.h"
#include "IXControl.h"
#include "IXConfigNode.h"

/**
*
*/
class IIntParser : public IXBaseObj
{
public:

    // 创建指针
    virtual IXControl* Alloc() = 0;

    // 创建失败时，释放指针
    virtual void DeAlloc(IN IXControl* pControl) = 0;

    // 创建控件之前
    virtual BOOL PreCreate(IN IXConfigNode* pNode, IN IXControl* pControl) = 0;

    // 将Control添加到控件树中
    virtual BOOL CreateUI(IN IXConfigNode* pNode, IN IXControl* pControl, IN IXControl* pParent) = 0;

    // 填充属性
    virtual BOOL FillAttr(IN IXConfigNode* pNode, IN IXControl* pControl) = 0;

    // 创建控件之后
    virtual BOOL PostCreate(IN IXConfigNode* pNode, IN IXControl* pControl) = 0;
};
